/*
   ScannerConst.h
   
   Copyright (C) 2006 LinuxOne, Inc. <Republic of korea>

   This library is free software; you can redistribute it and/or modify
   it under the terms of the GNU Lesser General Public License as
   published by the Free Software Foundation; either version 2.1
   of the License, or (at your option) any later version.

   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of 
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
   Lessor General Public License for more details.

   You should have received a copy of the GNU Lessor General Public
   License along with this library; if not, write to the Free Software
   Foundation, inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

   Hyunjin Kim <mgc521@linuxone.co.kr>

   LinuxOne, Inc., hereby disclaims all copylight
   written by Hyunjin Kim, 20 December 2006
*/

#ifndef _BOOYO_POS_SCANNER_CONST_H_
#define _BOOYO_POS_SCANNER_CONST_H_

namespace booyopos
{

class CScannerConst : public CBooyoPOSConst
{
public:
	enum ScanDataType
	{
		// One dimensional symbologies
		SCAN_SDT_UPCA		= 101,
		SCAN_SDT_UPCE,
		SCAN_SDT_JAN8,
		SCAN_SDT_EAN8,
		SCAN_SDT_JAN13,
		SCAN_SDT_EAN13,
		SCAN_SDT_TF,
		SCAN_SDT_ITF,
		SCAN_SDT_Codabar,
		SCAN_SDT_Code39,
		SCAN_SDT_Code93,
		SCAN_SDT_Code128,
		SCAN_SDT_UPCA_S,
		SCAN_SDT_UPCE_S,
		SCAN_SDT_UPCD1,
		SCAN_SDT_UPCD2,
		SCAN_SDT_UPCD3,
		SCAN_SDT_UPCD4,
		SCAN_SDT_UPCD5,
		SCAN_SDT_EAN8_S,
		SCAN_SDT_EAN13_S,
		SCAN_SDT_EAN128,
		SCAN_SDT_OCRA,
		SCAN_SDT_OCRB,

		SCAN_SDT_RSS14		= 131,
		SCAN_SDT_RSS_EXPANDED,

		// composite Symbologies
		SCAN_SDT_CCA		= 151,
		SCAN_SDT_CCB,
		SCAN_SDT_CCC,

		// Two dimensional symbologies
		SCAN_SDT_PDF417		= 201,
		SCAN_SDT_MAXICODE,

		// Special cases
		SCAN_SDT_OTHER		= 501,
		
		SCAN_SDT_UNKNOWN	= 0
	};

	/* Capabilities */
	int capPowerReporting;
	bool capStatisticsReporting;
	bool capUpdateStatistics;
	bool capCompareFirmwareVersion;
	bool capUpdateFirmware;
	
	/* Properties */
	int dataCount;
	int powerNotice;
	bool decodeData;
	char* scanData;
	char* scanDataLabel;
	int scanDataType;
	int powerNotify;
	int powerState;
};

} // namespace booyopos

#endif // _BOOYO_POS_SCANNER_CONST_H_
